package com.xjx.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xjx.common.PageResult;
import com.xjx.pojo.dto.BookCreateDTO;
import com.xjx.pojo.dto.BookPageQuery;
import com.xjx.pojo.dto.BookUpdateDTO;
import com.xjx.pojo.dto.StockAdjustDTO;
import com.xjx.pojo.entity.Book;
import com.xjx.pojo.vo.BookVO;
import java.util.Map;

public interface BookService extends IService<Book> {
    BookVO createBook(BookCreateDTO createDTO);
    BookVO updateBook(Long id, BookUpdateDTO updateDTO);
    BookVO adjustStock(Long id, StockAdjustDTO adjustDTO);
    BookVO getBookById(Long id);
    Map<String, Boolean> checkIsbnExists(String isbn);
    PageResult<BookVO> queryBooksByPage(BookPageQuery query);
    void deleteBookById(Long id);
    BookVO restoreBookById(Long id);
}